package com.atguigu.f_digui;
/*
    求 1-n 的和
        规律 : f(n) = f(n - 1) + n;
    求 1-5 的和 [方法]
        1-5 的和 = 1-4的和 [方法] + 5
        1-4 的和 = 1-3的和 [方法] + 4
        1-3 的和 = 1-2的和 [方法] + 3
        1-2 的和 = 1-1的和 [方法] + 2
        1-1 的和 = 1 [固定值] -> 出口

    递归方法的编写步骤 :
        1. 定义方法且方法有形参 [实现参数的变化] -> 递归方法一定有形参
        2. 先写出口
        3. 再写规律

    只需要在使用递归方法的地方调用此方法即可

    求1-n的阶乘
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("sum(5) = " + sum(5));
    }

    public static int sum(int n){
        //先写出口
        if (n == 1){
            return 1;
        }

        //说明n不是1 -> 再写规律
        return  sum(n - 1)+ n;
    }
}
